#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2020/10/9 18:22
# @Author  : 朱宽
# @File    : getLog.py
# @Software: Win10、Python3.8.5 and Pycharm
'''
生成日志，
调用方法为：

from utils import GetLog

testlogger = GetLog.Logger('Test_Advanced_Application').getlog()

testlogger.info("打开这个浏览器")
'''
import time
import logging
from config.globalConfig import model_log_path


class Logger(object):
    def __init__(self, logger):
        '''
        指定保存日志的文件路径，日志级别，以及调用文件将日志存入指定的文件中
        :param logger:
        '''
        # 创建一个logger
        self.logger = logging.getLogger(logger)
        self.logger.setLevel(logging.DEBUG)
        # 创建一个handler，用于写入日志文件
        rp = time.strftime('%Y-%m-%d-%H-%M-%S', time.localtime(time.time()))
        log_path = model_log_path
        log_name = log_path + rp + '.log'
        filehandler = logging.FileHandler(log_name)
        filehandler.setLevel(logging.INFO)
        # 再创建一个handler，用于输出到控制台
        consolehandler = logging.StreamHandler()
        consolehandler.setLevel(logging.INFO)
        # 定义handler的输出格式
        formatter = logging.Formatter('%(asctime)s-%(name)s-%(levelname)s-%(message)s')
        filehandler.setFormatter(formatter)
        consolehandler.setFormatter(formatter)
        # 给logger添加handler
        self.logger.addHandler(filehandler)
        self.logger.addHandler(consolehandler)

    def getlog(self):
        return self.logger


if __name__ == '__main__':
    from selenium import webdriver

    testlogger = Logger('Test_Advanced_Application').getlog()
    testlogger.info("打开浏览器")
    driver = webdriver.Chrome()
    driver.maximize_window()
    testlogger.info("最大化浏览器窗口。")
    driver.implicitly_wait(10)
    testlogger.info("打开百度首页。")
    driver.get("https://www.baidu.com")
    testlogger.info("暂停3秒。")
    time.sleep(3)
    testlogger.info("关闭并退出浏览器")
    driver.quit()

